package com.ywm.dao.common;

import tk.mybatis.mapper.entity.Example;

import java.util.List;

public interface BaseDao<T> {

	/**
	 * 新增
	 * @param t
	 * @return
	 */
	public int save(T t);

	/**
	 * 修改
	 * @param t
	 * @return
	 */
	public int updateById(T t);

	/**
	 * 修改
	 * @param t
	 * @param e
	 * @return
	 */
	public int update(T t, Example e);

	/**
	 * 删除
	 * @param id
	 * @return
	 */
	public int delete(Long id);

	/**
	 * 查询
	 * @param id
	 * @return
	 */
	public T findOneById(Long id);

	/**
	 * 查询
	 * @param t
	 * @return
	 */
	public T findOneByModel(T t);

	/**
	 * 查询列表
	 * @param t
	 * @return
	 */
	public List<T> findList(T t);

	/**
	 * 查询数量
	 * @param t
	 * @return
	 */
	public int selectCount(T t);

}
